home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
pcboard
/
vrs501.zip
/
VRS-M100.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-10-08
|
23KB
|
859 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer INTEGER019
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
Integer INTEGER023
Integer INTEGER024
Integer INTEGER025
Integer INTEGER026
Integer INTEGER027
Integer INTEGER028
Integer INTEGER029
Integer INTEGER030
Integer INTEGER031
Integer INTEGER032
Integer INTEGER033
Integer INTEGER034
Integer INTEGER035
Integer INTEGER036
Integer INTEGER037
Integer INTEGER038
Integer INTEGER039
Integer INTEGER040
Integer INTEGER041
Integer INTEGER042
Integer INTEGER043
Integer INTEGER044
Integer INTEGER045
Integer INTEGER046
Integer INTEGER047
Integer INTEGER048
Integer INTEGER049
Integer INTEGER050
Integer INTEGER051
Integer INTEGER052
Integer INTEGER053
Integer INTEGER054
Integer INTEGER055
Integer INTEGER056
Integer INTEGER057
Integer INTEGER058
Integer INTEGER059
Integer INTEGER060
Integer INTEGER061
Integer INTEGER062
Integer INTEGER063
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
;------------------------------------------------------------------------------
Goto LABEL001
End
If (0 == 0) STRING001 = "NO"
If (0 == 1) STRING001 = "YES"
EndFunc
:LABEL001
STRING006 = String(PcbNode())
If (PcbNode() == 0) STRING006 = "A"
STRING004 = GetEnv(STRING006 + "RECNO")
STRING004 = ToInteger(STRING004)
STRING005 = Random(100)
DCloseAll
Cls
PrintLn "@X0ESmells funny down here... kinda like a mutant....@X0F"
DOpen 0, PPEPath() + "USER.DBF", 0
DGo 0, STRING004
DOpen 2, PPEPath() + "MUTANT.DBF", 0
INTEGER055 = DRecNo(0)
PrintLn
PrintLn "@X0E... or a politician....@X0F"
DGet 0, "HANDLE", STRING018
STRING018 = Trim(STRING018, " ")
DGet 0, "CASH", INTEGER061
DGet 0, "WEAPN0", INTEGER038
DGet 0, "WEAPN1", INTEGER041
DGet 0, "WEAPN2", INTEGER044
DGet 0, "S_W_NUMBER", INTEGER047
INTEGER028 = INTEGER038
DGet 0, "WEAPT0", STRING021
DGet 0, "WEAPT1", STRING022
DGet 0, "WEAPT2", STRING023
DGet 0, "S_W_NAME", STRING024
STRING019 = STRING021
DGet 0, "WEAPA0", INTEGER039
DGet 0, "WEAPA1", INTEGER042
DGet 0, "WEAPA2", INTEGER045
DGet 0, "S_W_AMMO", INTEGER048
INTEGER053 = INTEGER039
DGet 0, "WEAPD0", INTEGER040
DGet 0, "WEAPD1", INTEGER043
DGet 0, "WEAPD2", INTEGER046
DGet 0, "S_W_DAMAGE", INTEGER049
INTEGER057 = INTEGER040
DGet 0, "HITPTS_L", INTEGER052
DGet 0, "ARMOR_D", INTEGER054
DGet 0, "LEVEL", INTEGER056
DGet 0, "EXP", INTEGER062
DGet 0, "DEF_STR", INTEGER059
DGet 0, "OFF_STR", INTEGER058
INTEGER009 = INTEGER038 + INTEGER041 + INTEGER044 + INTEGER047
INTEGER063 = Random(4)
If (INTEGER063 == 0) STRING025 = "Democrats"
If (INTEGER063 == 1) STRING025 = "Republicans"
If (INTEGER063 == 2) STRING025 = "Libertarians"
If (INTEGER063 == 3) STRING025 = "Anarchists"
PrintLn
PrintLn "@X0AYou scan the area carefully, and see no ", STRING025, ", but...@X0F"
PrintLn
:LABEL002
INTEGER017 = Random(100)
DGo 0, STRING004
If (DGet(0, "LEVEL") < 12) Then
INTEGER008 = Random(100)
If (INTEGER008 == 99) Goto LABEL003
ElseIf (DGet(0, "LEVEL") > 11) Then
INTEGER008 = Random(2)
If (INTEGER008 == 0) Goto LABEL003
Endif
If (INTEGER017 < 1) Goto LABEL002
DGo 2, INTEGER017
If (DGet(2, "LEVEL") > INTEGER056 + 2) Goto LABEL002
Goto LABEL004
:LABEL003
INTEGER017 = 1
:LABEL004
DnCloseAll 2
Delete PPEPath() + STRING005 + ".NDX"
DGo 2, INTEGER017
DGet 2, "HANDLE", STRING012
STRING012 = Trim(STRING012, " ")
DGet 2, "CASH", INTEGER026
DGet 2, "WEAPN0", INTEGER029
DGet 2, "WEAPN1", INTEGER032
DGet 2, "WEAPN2", INTEGER035
INTEGER025 = INTEGER029
DGet 2, "WEAPT0", STRING015
DGet 2, "WEAPT1", STRING016
DGet 2, "WEAPT2", STRING017
STRING013 = STRING015
DGet 2, "WEAPA0", INTEGER030
DGet 2, "WEAPA1", INTEGER033
DGet 2, "WEAPA2", INTEGER036
INTEGER015 = INTEGER030
DGet 2, "WEAPD0", INTEGER031
DGet 2, "WEAPD1", INTEGER034
DGet 2, "WEAPD2", INTEGER037
INTEGER019 = INTEGER031
DGet 2, "HITPTS_L", INTEGER014
DGet 2, "HITPTS_B", INTEGER004
If (INTEGER014 < 1) DPut 2, "HITPTS_L", INTEGER004
DGet 2, "HITPTS_L", INTEGER014
DGet 2, "ARMOR_D", INTEGER016
DGet 2, "LEVEL", INTEGER018
DGet 2, "EXP", INTEGER027
DGet 2, "DEF_STR", INTEGER021
DGet 2, "OFF_STR", INTEGER020
INTEGER001 = Random(2)
Select Case (INTEGER001)
Case 0
PrintLn "@X0EYou come up behind @X0F" + Mixed(STRING012)
STRING008 = 0
Case 1
PrintLn "@X0EYou see " + Mixed(STRING012) + "... And the Mutie sees YOU!@X0F"
STRING008 = 1
Case 2
PrintLn "@X0EYou see nothing but wreckage... Until " + Mixed(STRING012) + " attacks you from behind!@X0F"
STRING008 = 2
End Select
Delay (2 * 182) / 10
If (INTEGER038 + INTEGER041 + INTEGER044 + INTEGER047 > 0) Gosub LABEL028
:LABEL005
If (INTEGER053 < 1) Then
Cls
PrintLn "You're out of ammo for that weapon!"
PrintLn "You use your fists while attempting to change weapons!"
STRING019 = STRING021
INTEGER053 = INTEGER039
INTEGER057 = INTEGER040
INTEGER028 = INTEGER038
Delay (2 * 182) / 10
Endif
INTEGER012 = Len(STRING018)
INTEGER013 = (35 - INTEGER012) / 2
INTEGER010 = Len(STRING012)
INTEGER011 = (35 - INTEGER010) / 2
Cls
StartDisp 1
PrintLn "@X09┌───────────────────┤@X0E", Space(INTEGER013), STRING018, "@POS:57@@X09├─────────────────────┐@X0F"
PrintLn "@X09│ ─────────────────────────────────────────────────────────────────────────── │@X0F"
PrintLn "@X09│ @X0BWeapon In Use Life Left Ammo Left Armor Left @X09│@X0F"
PrintLn "@X09│ ─────────────────────────────────────────────────────────────────────────── │@X0F"
PrintLn "@X09│@X03 ", STRING019, "@POS:39@", INTEGER052, "@POS:54@", INTEGER053, "@POS:67@", INTEGER054, "@POS:79@@X09│@X0F"
PrintLn "@X09│ ────Strike against you was───────────────────────────────────────────────── │@X0F"
PrintLn "@X09│@X0E ", STRING003, "@POS:79@@X09│@X0F"
PrintLn "@X09└─────────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X09┌───────────────────┤@X06", Space(INTEGER011), STRING012, "@POS:57@@X09├─────────────────────┐@X0F"
PrintLn "@X09│ ─────────────────────────────────────────────────────────────────────────── │@X0F"
PrintLn "@X09│@X0D Weapon In Use Life Left Ammo Left Armor Left @X09│@X0F"
PrintLn "@X09│ ─────────────────────────────────────────────────────────────────────────── │@X0F"
PrintLn "@X09│@X05 ", STRING013, "@POS:39@", INTEGER014, "@POS:54@", INTEGER015, "@POS:67@", INTEGER016, "@POS:79@@X09│@X0F"
PrintLn "@X09│ ────Result of your strike────────────────────────────────────────────────── │@X0F"
PrintLn "@X09│@X0E ", STRING002, "@POS:79@@X09│@X0F"
PrintLn "@X09└─────────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X04═══════════════════════════════════════════════════════════════════════════════@X0F"
If (STRING008 == 0) PrintLn "@X02(@X0DS@X02)neak Away"
If (INTEGER038 + INTEGER041 + INTEGER044 + INTEGER047 > 0) PrintLn "@X02(@X0DC@X02)HANGE WEAPON"
PrintLn "@X02(@X0DA@X02)ttack!"
PrintLn "@X02(@X0DR@X02)un Away!"
If (INTEGER009 > 0) PrintLn "@X02(@X0DN@X02)egotiate with ", Mixed(STRING012)
If (STRING008 == 0) Then
If (INTEGER009 > 0) InputStr "Your Choice Soldier > _", STRING007, 10, 1, "SCARN", 0 + 8
If (INTEGER009 < 1) InputStr "Your Choice Soldier > _", STRING007, 10, 1, "SCAR", 0 + 8
STRING008 = 1
Else
STRING008 = 1
If (INTEGER009 > 0) InputStr "Your Choice Soldier > _", STRING007, 10, 1, "CARN", 0 + 8
If (INTEGER009 < 1) InputStr "Your Choice Soldier > _", STRING007, 10, 1, "CAR", 0 + 8
Endif
Select Case (STRING007)
Case "S"
Gosub LABEL008
If (INTEGER051 < 40) Then
Newlines 3
PrintLn "Quiet little bugger, aren't you?"
Newlines 2
PrintLn Mixed(STRING012), " didn't even twitch!"
Goto LABEL029
Endif
Newlines 3
PrintLn "Nice try, but you made enought noise to wake the dead...."
STRING008 = 1
Goto LABEL005
Case "C"
Gosub LABEL028
Goto LABEL005
Case "A"
INTEGER003 = 1
Goto LABEL008
Case "R"
INTEGER001 = Random(100)
If (INTEGER001 < 50) Then
StartDisp 1
Backup 80
ClrEol
PrintLn "@X0B", STRING012 + "@X0E misses you! Good dodging there!"
Delay (3 * 182) / 10
Goto LABEL029
Else
STRING003 = "@X0CCoward! @X0EWhen you turned your back to flee, you were hit again!@X0F"
STRING002 = "@X0ERunning like a dog...eh? Well " + Mixed(STRING018) + " it won't do any good!@X0F"
INTEGER003 = 0
Goto LABEL008
Endif
Case "N"
INTEGER006 = Random(1)
If (INTEGER006 == 0) Then
Cls
PrintLn "@X0EThis is a reasonable Mutant@X0F"
PrintLn
Print "@X0EThe mutant demands your "
If (INTEGER044 > 0) Then
Print "@X0B", Trim(STRING023, " ")
INTEGER007 = 2
Goto LABEL006
Endif
If (INTEGER041 > 1) Then
Print "", Trim(STRING022, " ")
INTEGER007 = 1
Goto LABEL006
Endif
Print "", Trim(STRING021, " ")
:LABEL006
PrintLn " @X0Eto let you live!@X0F"
Newline
:LABEL007
InputStr "@X0ADo you @X0EG@X0Aive the mutie what it wants, or do you @X8CF@X0Aight on @X02(@X0EG@X02/@X8CF@X02) _", STRING007, 10, 1, "GF", 0 + 8
If (STRING007 == "") Then
Backup 80
ClrEol
Goto LABEL007
Endif
If (STRING007 == "F") Goto LABEL005
If (STRING007 == "G") Then
If (INTEGER007 == 1) Then
Newlines 2
PrintLn "Surrendering your ", DGet(0, "weapt1")
Newlines 2
DPut 0, "WEAPN1", 0
DPut 0, "WEAPT1", "BUY ONE!"
DPut 0, "WEAPA1", 0
DPut 0, "WEAPD1", 0
Call PPEPath() + "VRS-M19.PPE"
Endif
If (INTEGER007 == 2) Then
Newlines 2
PrintLn "Surrendering your ", DGet(0, "weapt2")
Newlines 2
DPut 0, "WEAPN2", 0
DPut 0, "WEAPT2", "BUY ONE!"
DPut 0, "WEAPA2", 0
DPut 0, "WEAPD2", 0
Call PPEPath() + "VRS-M19.PPE"
Endif
Goto LABEL029
Endif
Endif
Backup 80
ClrEol
Print "@X0EThis is a @X0CVERY@X0E unreasonable mutant, the sneer on it's face holds your answer@X0F"
Delay (2 * 182) / 10
Goto LABEL005
Goto LABEL029
End Select
:LABEL008
INTEGER060 = INTEGER056 + INTEGER058 + INTEGER054 + ToInteger(INTEGER059)
INTEGER022 = INTEGER018 + INTEGER020 + INTEGER016 + ToInteger(INTEGER021)
INTEGER051 = Random(100) - INTEGER060
INTEGER024 = Random(100) - INTEGER022
INTEGER051 = Abs(INTEGER051) - Abs(INTEGER024)
INTEGER051 = Abs(INTEGER051)
INTEGER024 = Abs(INTEGER024) - Abs(INTEGER051)
INTEGER024 = Abs(INTEGER024)
If (INTEGER003 == 0) Goto LABEL016
If (INTEGER051 > 50) Goto LABEL009
If (INTEGER051 > 45) Goto LABEL010
If (INTEGER051 > 20) Goto LABEL011
If (INTEGER051 < 20) Goto LABEL012
If (INTEGER051 < 10) Goto LABEL013
:LABEL009
STRING002 = "@X09MISS@X07"
INTEGER003 = 0
Goto LABEL016
:LABEL010
STRING002 = "@X06GLANCING BLOW@X07"
STRING010 = "GLANCING"
Goto LABEL014
:LABEL011
STRING002 = "@X0BNORMAL HIT@X07"
STRING010 = "NORMAL"
Goto LABEL014
:LABEL012
STRING002 = " @X0ECRITICAL HIT!@X07"
STRING010 = "CRITICAL"
Goto LABEL014
:LABEL013
STRING002 = " @X0CMORTAL WOUND!@X07"
STRING010 = "MORTAL"
:LABEL014
Select Case (STRING010)
Case "NORMAL"
INTEGER001 = Random(2) + 1
INTEGER057 = INTEGER001 * INTEGER057
INTEGER002 = INTEGER057 / 3
If (INTEGER002 < 1) INTEGER002 = 0
If (INTEGER016 >= 1) INTEGER016 = INTEGER016 - INTEGER002
If (INTEGER016 <= 1) INTEGER016 = 0
INTEGER023 = INTEGER057 - INTEGER002
If (INTEGER023 < 0) INTEGER023 = 0
If (INTEGER028 > 0) INTEGER053 = INTEGER053 - 1
INTEGER014 = INTEGER014 - INTEGER023
Goto LABEL015
Case "GLANCING"
INTEGER002 = INTEGER016 * 2
If (INTEGER002 <= 2) INTEGER002 = Random(4) + 1
INTEGER023 = INTEGER057 - Abs(INTEGER002)
If (INTEGER023 < 0) INTEGER023 = 0
INTEGER014 = INTEGER014 - INTEGER023
Goto LABEL015
Case "CRITICAL"
INTEGER001 = Random(5) + 1
INTEGER023 = INTEGER001 * INTEGER057
If (INTEGER023 < 0) INTEGER023 = 0
INTEGER014 = INTEGER014 - INTEGER023
If (INTEGER028 > 0) INTEGER053 = INTEGER053 - 1
Goto LABEL015
Case "MORTAL"
INTEGER001 = Random(10) + 1
INTEGER057 = INTEGER001 * INTEGER057
INTEGER023 = INTEGER057
If (INTEGER023 < 0) INTEGER023 = 0
If (INTEGER028 > 0) INTEGER053 = INTEGER053 - 1
INTEGER014 = INTEGER014 - INTEGER023
If (STRING014 == 1) Goto LABEL026
If (INTEGER014 <= 0) Goto LABEL026
STRING014 = 1
End Select
:LABEL015
DPut 2, "HITPTS_L", INTEGER014
DPut 2, "ARMOR_D", INTEGER016
If (INTEGER028 == INTEGER038) DPut 0, "WEAPA0", INTEGER053
If (INTEGER028 == INTEGER041) DPut 0, "WEAPA1", INTEGER053
If (INTEGER028 == INTEGER044) DPut 0, "WEAPA2", INTEGER053
If (INTEGER028 == INTEGER047) DPut 0, "S_W_AMMO", INTEGER053
If (INTEGER014 < 0) Goto LABEL026
INTEGER003 = 0
Goto LABEL008
:LABEL016
If (INTEGER024 > 50) Goto LABEL017
If (INTEGER024 > 45) Goto LABEL018
If (INTEGER024 > 20) Goto LABEL019
If (INTEGER024 < 20) Goto LABEL020
If (INTEGER024 < 10) Goto LABEL021
:LABEL017
STRING003 = "@X09MISS@X07"
INTEGER003 = 0
Goto LABEL005
:LABEL018
STRING003 = "@X06GLANCING BLOW@X07"
STRING010 = "GLANCING"
Goto LABEL022
:LABEL019
STRING003 = "@X0BNORMAL HIT@X07"
STRING010 = "NORMAL"
Goto LABEL022
:LABEL020
STRING003 = " @X0ECRITICAL HIT@X07"
STRING010 = "CRITICAL"
Goto LABEL022
:LABEL021
STRING003 = " @X0CMORTAL WOUND!@X07"
STRING010 = "MORTAL"
:LABEL022
Select Case (STRING010)
Case "NORMAL"
INTEGER001 = Random(2) + 1
INTEGER019 = INTEGER001 * INTEGER019
INTEGER002 = INTEGER019 / 3
If (INTEGER002 < 1) INTEGER002 = 0
If (INTEGER054 >= 1) INTEGER054 = INTEGER054 - INTEGER002
If (INTEGER054 <= 1) INTEGER054 = 0
INTEGER050 = INTEGER019 - INTEGER002
If (INTEGER025 > 0) INTEGER015 = INTEGER015 - 1
If (INTEGER050 < 0) INTEGER050 = 0
INTEGER052 = INTEGER052 - INTEGER050
If (INTEGER052 <= 0) Goto LABEL024
Goto LABEL023
Case "GLANCING"
INTEGER002 = INTEGER054 * 2
If (INTEGER002 <= 2) INTEGER002 = Random(4) + 1
INTEGER050 = INTEGER019 - INTEGER002
If (INTEGER050 < 0) INTEGER050 = 0
INTEGER052 = INTEGER052 - INTEGER050
If (INTEGER052 <= 0) Goto LABEL024
Goto LABEL023
Case "CRITICAL"
INTEGER001 = Random(5) + 1
INTEGER023 = INTEGER001 * INTEGER019
If (INTEGER023 < 0) INTEGER023 = 0
INTEGER052 = INTEGER052 - INTEGER023
If (INTEGER025 > 0) INTEGER015 = INTEGER015 - 1
If (INTEGER052 <= 0) Goto LABEL024
Goto LABEL023
Case "MORTAL"
INTEGER001 = Random(10) + 1
INTEGER019 = INTEGER001 * INTEGER019
INTEGER050 = INTEGER019
If (INTEGER050 < 0) INTEGER050 = 0
If (INTEGER025 > 0) INTEGER015 = INTEGER015 - 1
INTEGER052 = INTEGER052 - INTEGER050
If (STRING020 == 1) Goto LABEL024
If (INTEGER052 <= 0) Goto LABEL024
STRING020 = 1
End Select
:LABEL023
DPut 0, "HITPTS_L", INTEGER052
DPut 0, "ARMOR_D", INTEGER054
DPut 2, "WEAPA0", INTEGER015
If (INTEGER052 < 0) Goto LABEL025
INTEGER003 = 3
Goto LABEL005
:LABEL024
If (INTEGER052 <= 0) Then
DPut 0, "VITALITY", "N"
DPut 0, "HITPTS_L", 0
DPut 0, "INFECTED", DGet(0, "INFECTED") + 20
Goto LABEL025
Endif
:LABEL025
Cls
StartDisp 1
PrintLn " ██┐ ██┐ ███████┐ ██┐ ██┐"
PrintLn " ██│ ██│ ██┌──██│ ██│ ██│"
PrintLn " ███████│ ██│ ██│ ██│ ██│"
PrintLn " └────██│ ██│ ██│ ██│ ██│"
PrintLn " ███████│ ███████│ ███████│"
PrintLn " └──────┘ └──────┘ └──────┘"
PrintLn
PrintLn " ██┐ ██┐ ███████┐ ██┐ ██┐ ███████┐"
PrintLn " ██│ ██│ ██┌──██│ ██│ ██│ ██┌────┘"
PrintLn " ███████│ ███████│ ██┐ ██┌┘ █████┐"
PrintLn " ██┌──██│ ██┌──██│ ██┐██┌┘ ██┌──┘"
PrintLn " ██│ ██│ ██│ ██│ ███┌┘ ███████┐"
PrintLn " └─┘ └─┘ └─┘ └─┘ └──┘ └──────┘"
PrintLn
PrintLn " @X8C ████████┐ ████┐███████┐ ████████┐@X0F"
PrintLn " @X8C └██┌──██│ └██┌┘██┌────┘ └██┌──██│@X0F"
PrintLn " @X8C ██│ ██│ ██│ █████┐ ██│ ██│@X0F"
PrintLn " @X8C ██│ ██│ ██│ ██┌──┘ ██│ ██│@X0F"
PrintLn " @X8C ████████│ ████┐███████┐ ████████│@X0F"
PrintLn " @X8C └───────┘ └───┘└──────┘ └───────┘@X0F"
Newline
DPut 0, "VITALITY", "N"
DGet 2, "KILLS", STRING009
DPut 2, "KILLS", ToInteger(STRING009) + 1
FAppend 1, PPEPath() + "DAILY.NWS", 2, 0
FPutLn 1, "@X0B" + Mixed(STRING018) + "@X0E WAS KILLED BY " + Mixed(STRING012)
FPutLn 1, "@X01≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡@X0F"
FClose 1
PrintLn "@X0CTo add to your embarrassment, your loss has been posted to the daily news!@X0F"
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL029
:LABEL026
Cls
Newlines 5
PrintLn " @X8A ▒██ ▒██ ▒██ ▒████▒██ ▒████▒██ ▒███████ ▒███████ ▒██@X0F"
PrintLn " @X8A ▒██ ▒██ ▒██ ▒██▒█▒██ ▒██▒█▒██ ▒██ ▒██ ▒██ ▒██@X0F"
PrintLn " @X82 ▒██ ▒██ ▒██ ▒██▒█▒██ ▒██▒█▒██ ▒██████ ▒███████ ▒██@X0F"
PrintLn " @X82 ▒██▒█▒██ ▒██ ▒██▒█▒██ ▒██▒█▒██ ▒██ ▒██ ▒██ @X0F"
PrintLn " @X8E ▒███████ ▒██ ▒██▒████ ▒██▒████ ▒███████ ▒██ ▒███ ▒██@X0F"
PrintLn ""
DGet 0, "R_FTS_L", INTEGER005
DPut 0, "R_FTS_L", INTEGER005 - 1
PrintLn "@X0EYour Mutant fights left for today (set by the sysop) are:@X0C ", DGet(0, "R_FTS_L")
DGet 0, "KILLS", STRING009
DPut 0, "KILLS", ToInteger(STRING009) + 1
PrintLn "@X0AYOUR TOTAL KILLS TO DATE ARE:@X0C ", DGet(0, "KILLS")
DPut 0, "CASH", INTEGER061 + INTEGER026
If (INTEGER026 > 0) PrintLn "@X0E", Mixed(STRING012) , " WAS CARRYING@X0A ", INTEGER026, "@X0E IN CASH, WHICH YOU TAKE..."
INTEGER062 = INTEGER062 + INTEGER018 * 100
DPut 0, "EXP", INTEGER062
PrintLn "Your Experience went up by: ", INTEGER018 * 100
PrintLn "Your Experience Points are now: ", INTEGER062
If (INTEGER017 == 1) Goto LABEL027
If (INTEGER025 > 0) Then
If ((DGet(0, "WEAPN1") < 1) && (DGet(0, "WEAPN2") > 1)) Then
DFCopy 0, "WEAPN1", 0, "WEAPN2"
DFCopy 0, "WEAPT1", 0, "WEAPT2"
DFCopy 0, "WEAPA1", 0, "WEAPA2"
DFCopy 0, "WEAPD1", 0, "WEAPD2"
DPut 0, "WEAPN2", 0
DPut 0, "WEAPT2", "NONE"
DPut 0, "WEAPA2", 0
DPut 0, "WEAPD2", 0
Endif
If (DGet(0, "WEAPN2") < DGet(0, "S_W_NUMBER")) Then
DFCopy 0, "WEAPN2", 0, "S_W_NUMBER"
DFCopy 0, "WEAPT2", 0, "S_W_NAME"
DFCopy 0, "WEAPA2", 0, "S_W_AMMO"
DFCopy 0, "WEAPD2", 0, "S_W_DAMAGE"
DPut 0, "S_W_NUMBER", 0
DPut 0, "S_W_NAME", "NONE"
DPut 0, "S_W_AMMO", 0
DPut 0, "S_W_DAMAGE", 0
Endif
PrintLn "@X0E", Mixed(STRING012), " had a nice@X09 ", Trim(STRING013, " "), "@X0E which you abscond with...@X0F"
DPut 0, "S_W_NUMBER", INTEGER025
DPut 0, "S_W_NAME", STRING013
DPut 0, "S_W_AMMO", INTEGER015
DPut 0, "S_W_DAMAGE", INTEGER019
Endif
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL029
:LABEL027
DGo 0, STRING004
DPut 0, "VITALITY", "W"
DPut 0, "LEVEL", 1
DPut 0, "EXP", 1
DPut 0, "CASH", 0
DPut 0, "BANKED", 0
DPut 0, "WEAPN1", 0
DPut 0, "WEAPN2", 0
DPut 0, "S_W_NUMBER", 0
DPut 0, "WEAPT1", "NONE"
DPut 0, "WEAPT2", "NONE"
DPut 0, "S_W_NAME", "NONE"
DPut 0, "WEAPA1", 0
DPut 0, "WEAPA2", 0
DPut 0, "S_W_AMMO", 0
DPut 0, "WEAPD1", 0
DPut 0, "WEAPD2", 0
DPut 0, "S_W_DAMAGE", 0
DPut 0, "ARMOR_D", 0
DPut 0, "ARMOR_N", "NONE"
Cls
Newlines 2
PrintLn "@X0B ███████┐ ███████┐ ██┐ ████┐██┐ ██┐ @X0F"
PrintLn "@X0B ██┌────┘ ██┌────┘ ██│ └██┌┘ ██┐██┌┘ @X0F"
PrintLn "@X0B █████┐ █████┐ ██│ ██│ ███┌┘ @X0F"
PrintLn "@X0B ██┌──┘ ██┌──┘ ██│ ██│ ██┌██┐ @X0F"
PrintLn "@X0B ██│ ███████┐ ██████┐ ████┐██┌┘└██┐ @X0F"
PrintLn "@X0B └─┘ └──────┘ └─────┘ └───┘└─┘ └─┘ @X0F"
PrintLn
PrintLn "@X0B ████████┐ ███████┐ ███████┐ ████████┐ ███████┐ ██████┐ ██┐ @X0F"
PrintLn "@X0B └██┌──██│ ██┌────┘ ██┌──██│ └──██┌──┘ ██┌────┘ ██┌─██│ ██│ @X0F"
PrintLn "@X0B ███████│ █████┐ ███████│ ██│ █████┐ ██│ ██│ ██│ @X0F"
PrintLn "@X0B ██┌──██│ ██┌──┘ ██┌──██│ ██│ ██┌──┘ ██│ ██│ ██│ @X0F"
PrintLn "@X0B ████████│ ███████┐ ██│ ██│ ██│ ███████┐ ██│ ██████│ @X0F"
PrintLn "@X0B └───────┘ └──────┘ └─┘ └─┘ └─┘ └──────┘ └─┘ └─────┘ @X0F"
Newlines 2
Call PPEPath() + "VRS-M19.PPE"
Cls
Newlines 5
PrintLn "@X0B You have beaten Felix, the terror of the TurboShafts. It takes @X0F"
PrintLn "@X0Ba lot out of you to drag him back to the TurboLift, but you realize that @X0F"
PrintLn "@X0Bit's the *BEST* possible proof of your claim to bring him back with you. @X0F"
PrintLn
PrintLn "@X0B Dragging him through the Mall, many of your fellow soldiers back @X0F"
PrintLn "@X0Bup and look on in awe, excepting Dweezle, who sees what a heavy load @X0F"
PrintLn "@X0Byou're struggling with and lends a hand. @X0F"
PrintLn
PrintLn "@X0B He asks where you're planning on taking the body, and you reply @X0F"
PrintLn "@X0Bthat you're *VERY* interested in that Scout suit of armor. Dweezle @X0F"
PrintLn "@X0Breplies that it's quite a bit smaller than you are, and your hopes are @X0F"
PrintLn "@X0Bprobably in vain, but helps you drag him to the Body Shop for an expert @X0F"
PrintLn "@X0Bopinion...... @X0F"
Newlines 2
Call PPEPath() + "VRS-M19.PPE"
Cls
Newlines 3
PrintLn "@X0B Getting to the Body Shop, your worst fears are confirmed. There @X0F"
PrintLn "@X0Bis no possible way to stretch that armor to fit you. While you are @X0F"
PrintLn "@X0Barguing the point with the Armorer, you notice half a dozen MedTechs @X0F"
PrintLn "@X0Bworking on the armor to get it open.... @X0F"
PrintLn
PrintLn "@X0B Dweezle points out that the money you're being offered for the @X0F"
PrintLn "@X0Barmor would make anyone happy, and perhaps you should take it.... @X0F"
PrintLn
PrintLn "@X0B On consideration, you decide that this is a good idea, and take @X0F"
PrintLn "@X0Bthe cash for the armor. @X0F"
PrintLn
PrintLn
PrintLn "@X0B Dweezle takes you out for a celebratory drink... @X0F"
Newlines 5
Call PPEPath() + "VRS-M19.PPE"
Cls
Newlines 3
PrintLn "@X0D On awakening the next morning, you feel horrible. You visit the @X0F"
PrintLn "@X0DMedic to find out what can be done, and he surprises you by saying that @X0F"
PrintLn "@X0Dyour records are no longer in the computer... You access the machine, and @X0F"
PrintLn "@X0Dit refuses to take your ID - the MedTech takes a close look, and points out @X0F"
PrintLn "@X0Da newly healed scar on your arm - your ID chip is MISSING! @X0F"
PrintLn
PrintLn "@X0D As the MedTech implants a new chip for you, he mentions that they @X0F"
PrintLn "@X0Dwere able to revive Felix two days ago, and that he seems stable at a @X0F"
PrintLn "@X0Dten percent infection rate. Hopefully he won't go rogue again.... @X0F"
PrintLn
PrintLn "@X0D You realize that not only have you lost all standing, cash, @X0F"
PrintLn "@X0Dweapons, and armor, but that trusting someone named 'Dweezle' wasn't too @X0F"
PrintLn "@X0Dbright in the first place.... @X0F"
Newlines 2
Call PPEPath() + "VRS-M19.PPE"
Cls
Newlines 5
PrintLn "@X0C Well, it didn't take you too long to amass a small fortune the @X0F"
PrintLn "@X0Cfirst time around, so you plan on starting again tomorrow........ @X0F"
Newlines 3
Delay (5 * 182) / 10
Goto LABEL029
:LABEL028
Cls
PrintLn " @X0A┌───────────────────@X02┐@X0F"
PrintLn " @X0A│ @X0EWEAPONS AVAILABLE @X02│@X0F"
PrintLn " @X0A└@X02───────────────────┘@X0F"
PrintLn "@X0A┌─────────────────────────────────────────────────────@X02┐@X0F"
PrintLn "@X0A│ @X0ECURRENTLY USING :@X0B ", STRING019, "@POS:55@@X02│@X0F"
PrintLn "@X0A└@X02─────────────────────────────────────────────────────┘@X0F"
PrintLn "@X0A┌───────@X02Weapon Name@X0A───────────────────@X02Ammo@X0A────@X02Damage@X0A──@X02┐@X0F"
PrintLn "@X0A│ @X02(@X0DA@X02) @X0A", RTrim(STRING021, " "), "@X03@POS:40@", RTrim(INTEGER039, " "), "@X0C@POS:49@", RTrim(INTEGER040, " "), "@POS:55@@X02│@X0F"
If (INTEGER041 > 0) PrintLn "@X0A│ @X02(@X0DB@X02) @X0A ", RTrim(STRING022, " ") , "@POS:40@@X03", RTrim(INTEGER042, " ") , "@X0C@POS:49@", RTrim(INTEGER043, " ") , "@POS:55@@X02│@X0F"
If (INTEGER044 > 0) PrintLn "@X0A│ @X02(@X0DC@X02) @X0A ", RTrim(STRING023, " ") , "@X03@POS:40@", RTrim(INTEGER045, " ") , "@X0C@POS:49@", RTrim(INTEGER046, " ") , "@POS:55@@X02│@X0F"
If (INTEGER047 > 0) PrintLn "@X0A│@X0B───────@X02Scrounged Weapon@X0B──────────────────────────────@X02│@X0F"
If (INTEGER047 > 0) PrintLn "@X0A│ @X02(@X0DD@X02) @X0A ", RTrim(STRING024, " ") , "@X03@POS:40@", RTrim(INTEGER048, " ") , "@X0C@POS:49@", RTrim(INTEGER049, " ") , "@POS:55@@X02│@X0F"
PrintLn "@X0A└@X02─────────────────────────────────────────────────────┘@X0F"
PrintLn
InputStr "@X0DA@X0E, @X0DB@X0E, @X0DC @X0Eor @X0CQ@X0E to quit. Your Choice Soldier @X0A> _", STRING011, 10, 1, "ABCDQ", 0 + 8
Select Case (STRING011)
Case "A"
STRING019 = STRING021
INTEGER053 = INTEGER039
INTEGER057 = INTEGER040
INTEGER028 = INTEGER038
Return
Case "B"
STRING019 = STRING022
INTEGER053 = INTEGER042
INTEGER057 = INTEGER043
INTEGER028 = INTEGER041
Return
Case "C"
STRING019 = STRING023
INTEGER053 = INTEGER045
INTEGER057 = INTEGER046
INTEGER028 = INTEGER044
Return
Case "D"
STRING019 = STRING024
INTEGER053 = INTEGER048
INTEGER057 = INTEGER049
INTEGER028 = INTEGER047
Return
Case "Q"
Goto LABEL005
End Select
Return
:LABEL029
DPut 2, "VITALITY", "Y"
DPut 2, "HITPTS_L", DGet(2, "HITPTS_B")
DPut 2, "WEAPA0", 50
DCloseAll
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 12 Cls
; 3 ClrEol
; 123 Goto
; 152 Let
; 5 Print
; 143 PrintLn
; 111 If
; 1 FAppend
; 1 FClose
; 2 FPutLn
; 3 StartDisp
; 1 Delete
; 6 InputStr
; 3 Gosub
; 5 Return
; 5 Delay
; 2 Newline
; 18 Newlines
; 8 Call
; 3 Backup
; 1 EndFunc
; 2 DOpen
; 2 DCloseAll
; 1 DnCloseAll
; 5 DGo
; 49 DGet
; 61 DPut
; 8 DFCopy
;
;
; ■ Functions used :
;
; 15 *
; 9 /
; 60 +
; 27 -
; 46 ==
; 26 <
; 10 <=
; 28 >
; 2 >=
; 38 !
; 1 &&
; 2 Len(
; 2 Space()
; 12 RTrim()
; 6 Trim()
; 18 Random()
; 1 String()
; 12 PPEPath()
; 2 PcbNode()
; 1 GetEnv()
; 7 Abs()
; 5 ToInteger()
; 10 Mixed()
; 1 DRecNo()
; 13 DGet()
;
;------------------------------------------------------------------------------
;
; Analysis flags : C
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 0 While/EndWhile
; 17 If/Then or If/Then/Else
; 5 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------